package oauthBean

import "time"

type GiteeAppInfo struct {
	CliId     string
	CliSecret string
}

type TokenInfo struct {
	TokenType    string    `json:"token_type"`
	AccessToken  string    `json:"access_token"`
	RefreshToken string    `json:"refresh_token"`
	Scope        string    `json:"scope"`
	ExpiresIn    int64     `json:"expires_in"`
	CreatedTm    time.Time `json:"-"`

	Error            string `json:"error"`
	ErrorDescription string `json:"error_description"`
}

type UserInfo struct {
	Id                int64       `json:"id"`
	Login             string      `json:"login"`
	Name              string      `json:"name"`
	FullName          string      `json:"full_name"`
	Username          string      `json:"username"`
	AvatarUrl         string      `json:"avatar_url"`
	Url               string      `json:"url"`
	HtmlUrl           string      `json:"html_url"`
	FollowersUrl      string      `json:"followers_url"`
	FollowingUrl      string      `json:"following_url"`
	GistsUrl          string      `json:"gists_url"`
	StarredUrl        string      `json:"starred_url"`
	SubscriptionsUrl  string      `json:"subscriptions_url"`
	OrganizationsUrl  string      `json:"organizations_url"`
	ReposUrl          string      `json:"repos_url"`
	EventsUrl         string      `json:"events_url"`
	ReceivedEventsUrl string      `json:"received_events_url"`
	Type              string      `json:"type"`
	Blog              interface{} `json:"blog"`
	Weibo             interface{} `json:"weibo"`
	Bio               interface{} `json:"bio"`
	PublicRepos       int         `json:"public_repos"`
	PublicGists       int         `json:"public_gists"`
	Followers         int         `json:"followers"`
	Following         int         `json:"following"`
	Stared            int         `json:"stared"`
	Watched           int         `json:"watched"`
	CreatedAt         time.Time   `json:"created_at"`
	UpdatedAt         time.Time   `json:"updated_at"`
	Email             interface{} `json:"email"`
}
